package com.noahedus.desktopclick.game.net;

import java.io.File;
import java.util.Map;

/**
 * Created by lenovo on 2019/11/8.
 * 网络请求工具类
 */
public interface INetManager {

    /**
     * @param url      请求网址
     * @param callback 回调
     * @param tag      请求的tag
     */
    void get(String url, INetGetCallBack callback, Object tag);

    /**
     * post请求
     *
     * @param url
     * @param headersParams head
     * @param params        参数
     * @param callback      回调
     * @param tag           请求的tag
     */
    void post(String url, Map<String, String> headersParams, Map<String, String> params, INetPostCallBack callback, Object tag);

    /**
     * 上传文件
     *
     * @param url
     * @param fileKey  文件的key
     * @param file     要上传的文件
     * @param params   参数
     * @param callback 回调
     * @param tag      tag
     */
    void postFile(String url, String fileKey, File file, Map<String, String> params, INetPostFileCallBack callback, Object tag);


    /**
     * 下载文件
     *
     * @param url
     * @param file     下载的文件
     * @param callback 回调
     * @param tag      tag
     */
    void downFile(String url, File file, INetDownFileCallBack callback, Object tag);


    /**
     * 取消请求
     *
     * @param tag
     */

    void cancel(Object tag);


}
